package com.vanysoft.business.demo.form.service;

import com.vanysoft.business.demo.form.dao.TDemoFormMapper;
import com.vanysoft.business.demo.form.entity.TDemoForm;
import com.vanysoft.framework.exception.VanySoftBaseException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.UUID;

/**
 * 类名称：DemoFormService
 * 类描述：DEMO表单逻辑层类
 * 创建人：SharpClaw_X
 * 创建时间：2017年10月21日下午7:33:20
 * 修改人：SharpClaw_X
 * 修改时间：2017年10月21日
 * 版本信息：@version 1.0
 * Copyright (c) 2017 SharpClaw
 * 修改备注：
 */
@Service
@Transactional(readOnly = true)
public class DemoFormService {

    @Autowired
    private TDemoFormMapper tDemoFormMapper;

    /**
     * Function Name               queryTDemoForm
     *
     * @param
     * @return
     * @throws VanySoftBaseException
     * @description 查询表中第一条记录（初始化使用，该DEMO只对表中一条数据进行操作）
     * Modify History:              Date             Programmer       Notes
     * ---------        ---------------  ---------
     * 2017年10月21日下午7:35:41          SharpClaw_X          Initial
     * *********************************************************************
     */
    public TDemoForm queryTDemoForm() throws VanySoftBaseException {
        TDemoForm obj = new TDemoForm();
        List<TDemoForm> list = tDemoFormMapper.selectAll();
        if (list.size() > 0) {
            obj = list.get(0);
        }
        return obj;
    }

    /**
     * Function Name               addTDemoForm
     *
     * @param TDemoForm
     * @return
     * @throws VanySoftBaseException
     * @description 增加记录
     * Modify History:              Date             Programmer       Notes
     * ---------        ---------------  ---------
     * 2017年10月21日下午7:44:17          SharpClaw_X          Initial
     * *********************************************************************
     */
    @Transactional
    public void addTDemoForm(TDemoForm obj) throws VanySoftBaseException {
        String demoformkey = UUID.randomUUID().toString();
        obj.setDemoformkey(demoformkey);
        tDemoFormMapper.insert(obj);
    }

    /**
     * Function Name               upateTDemoForm
     *
     * @param TDemoForm
     * @return
     * @throws VanySoftBaseException
     * @description 修改记录
     * Modify History:              Date             Programmer       Notes
     * ---------        ---------------  ---------
     * 2017年10月21日下午7:44:29          SharpClaw_X          Initial
     * *********************************************************************
     */
    @Transactional
    public void upateTDemoForm(TDemoForm obj) throws VanySoftBaseException {
        tDemoFormMapper.updateByPrimaryKeySelective(obj);
    }
}
